﻿Public Class frmLogin
    Public varIDUsuario As Integer = 0

    Private Sub btnAceptar_Click(sender As Object, e As EventArgs) Handles btnAceptar.Click

        varIDUsuario = Validar()

        If varIDUsuario <> 0 Then
            varIdUsuarioSistema = varIDUsuario
            Me.Close()
        End If

    End Sub

    Private Function Validar() As Integer
        Dim varResultado As Integer = 0

        If txtUsuario.Text.Trim = "" Then
            MsgBox("Debe ingresar un usuario", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Atención")
            txtUsuario.Focus()
            Return 0
        End If

        If txtClave.Text.Trim = "" Then
            MsgBox("Debe ingresar una clave", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Atención")
            txtClave.Focus()
            Return 0
        End If

        'Si es superusuario entro
        If txtUsuario.Text.Trim = "CTSdatos" Then
            If txtClave.Text.Trim = "yyZp9w3C8Z8=" Then
                varNombreUsuarioSistema = txtUsuario.Text.Trim
                Return 1
            Else
                MsgBox("La clave ingresada es incorrecta", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "Atención")
                txtClave.Focus()
                Return 0
            End If
        End If

        'Obtengo datos de usuario
        Dim dr As MySql.Data.MySqlClient.MySqlDataReader
        Dim cmd As MySql.Data.MySqlClient.MySqlCommand
        cmd = New MySql.Data.MySqlClient.MySqlCommand("Select id,username,password,(Nombre + ' ' + Apellido) As Nombre, Activo From USERS Where username='" & Trim(txtUsuario.Text.Trim) & "'")
        dr = cn.getResultados(cmd)

        'If dr.HasRows = False Then
        '    MsgBox("El usuario ingresado no existe", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "Atención")
        '    txtUsuario.Focus()
        '    dr.Close()
        '    cn.Cerrar()
        '    Return 0
        'End If
        'dr.Read()
        'If dr.Item("Password").ToString <> txtClave.Text.Trim Then
        '    MsgBox("La clave ingresada es incorrecta", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "Atención")
        '    txtClave.Focus()
        '    dr.Close()
        '    cn.Cerrar()
        '    Return 0
        'End If

        If dr.HasRows = False Then
            MsgBox("El usuario ingresado no existe", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "Atención")
            txtUsuario.Focus()
            dr.Close()
            cn.Cerrar()
            Return 0
        End If

        dr.Read()

        'Comparo usuario case sensitive
        If String.Compare(dr.Item("username"), txtUsuario.Text.Trim.ToString, False) <> 0 Then
            MsgBox("El usuario ingresado no existe", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "Atención")
            txtUsuario.Focus()
            dr.Close()
            cn.Cerrar()
            Return 0
        End If

        'Comparo clave case sensitive
        If String.Compare(dr.Item("Password").ToString, txtClave.Text.Trim.ToString) <> 0 Then
            MsgBox("La clave ingresada es incorrecta", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "Atención")
            txtClave.Focus()
            dr.Close()
            cn.Cerrar()
            Return 0
        End If

        varNombreUsuarioSistema = dr.Item("username")
        varResultado = dr.Item("id")
        dr.Close()
        cn.Cerrar()
        Return varResultado

    End Function

    Private Sub txtClave_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtClave.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            btnAceptar_Click(sender, e)
        End If
    End Sub

    Private Sub txtUsuario_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtUsuario.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            btnAceptar_Click(sender, e)
        End If
    End Sub

End Class